Public Class PmcSummary
    Inherits SummaryDataRecord


    Public Enum ItemTypeField

        Author = 0
        Title = 1
        PubDate = 2
        ePubDate = 3
        Journal = 4
        Volume = 5
        Issue = 6
        Pagination = 7
        PmId = 8
        SortDate = 9
        Links = 10
        PmcLiveDate = 11
    End Enum


#Region "Base Methods"

    Public Overrides ReadOnly Property FieldCount() As Integer
        Get
            Return MyBase.GetFieldCount(Of ItemTypeField)()
        End Get
    End Property

    Public Overloads Overrides ReadOnly Property Item(ByVal name As String) As Object
        Get
            Return MyBase.GetItem(Of ItemTypeField)(name)
        End Get
    End Property


    Public Overloads Overrides Function GetSchemaTable() As System.Data.DataTable

        Return MyBase.GetSchemaTable(Of ItemTypeField)()

    End Function



    Public Overrides Function GetName(ByVal i As Integer) As String

        Return MyBase.GetName(Of ItemTypeField)(i)

    End Function

    Public Overrides Function GetOrdinal(ByVal name As String) As Integer

        Return MyBase.GetOrdinal(Of ItemTypeField)(name)

    End Function

    
    Public Overrides Function GetData(ByVal i As Integer) As System.Data.IDataReader

        Throw new NotImplementedException("")

    End Function

#End Region



    Public Function GetAuthor() As String

        Return GetString(Me.docSumField, ItemTypeField.Author)

    End Function

    Public Function GetEPubDate() As Date

        Return GetDateTime(Me.docSumField, ItemTypeField.ePubDate)

    End Function


    Public Function GetIssue() As String

        Return GetString(Me.docSumField, ItemTypeField.Issue)

    End Function


    Public Function GetJournal() As String

        Return GetString(Me.docSumField, ItemTypeField.Journal)

    End Function


    Public Function GetLinks() As String

        Return GetString(Me.docSumField, ItemTypeField.Links)

    End Function


    Public Function GetPagination() As String

        Return GetString(Me.docSumField, ItemTypeField.Pagination)

    End Function



    Public Function GetPmcLiveDate() As Date

        Return GetDateTime(Me.docSumField, ItemTypeField.PmcLiveDate)

    End Function


    Public Function GetPmId() As String

        Return GetString(Me.docSumField, ItemTypeField.PmId)

    End Function



    Public Function GetPubDate() As Date

        Return GetDateTime(Me.docSumField, ItemTypeField.PubDate)

    End Function


    Public Function GetSortDate() As Date

        Return GetDateTime(Me.docSumField, ItemTypeField.SortDate)

    End Function


    Public Function GetTitle() As String

        Return GetString(Me.docSumField, ItemTypeField.Title)

    End Function


    Public Function GetVolume() As String

        Return GetString(Me.docSumField, ItemTypeField.Volume)

    End Function


End Class